#pragma once
#include "fs_algo.h"


typedef pair<int,int> Span;
typedef pair<int,int> Position;


class GlobalExtractor
{
public:
	void update_info_aggregation(const vector<string>& forms, const vector<string>& tags);
	void update_info_label(const vector<string>& forms, const vector<string>& tags);
	void extract_features_aggregation(const string& form, const string& tag, vector<string>& features);
	void extract_features_label(const string& form, vector<string>& features);
private:
	void extract_window(const vector<string>& forms, int i, vector<string>& features);
private:
	vector<vector<string> > his_forms;
	vector<vector<string> > his_tags;
	map<string,map<string,int> > string2label_count;
};
